<!DOCTYPE html>
<!--
Copyright (c) 2015 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->

<link rel="import" href="/tracing/core/test_utils.html">
<link rel="import" href="/tracing/extras/chrome/cc/cc.html">
<link rel="import" href="/tracing/extras/chrome/cc/display_item_list.html">
<link rel="import" href="/tracing/extras/importer/trace_event_importer.html">
<link rel="import" href="/tracing/model/model.html">

<script src="/tracing/extras/chrome/cc/layer_tree_host_impl_test_data.js">
</script>

<script>
'use strict';

tr.b.unittest.testSuite(function() {
  test('basic', function() {
    const m = tr.c.TestUtils.newModelWithEvents([g_catLTHIEvents]);
    const p = Object.values(m.processes)[0];

    const instance = p.objects.getAllInstancesNamed('cc::DisplayItemList')[0];
    const snapshot = instance.snapshots[0];

    assert.instanceOf(snapshot, tr.e.cc.DisplayItemListSnapshot);
    instance.wasDeleted(150);
  });

  test('getItems', function() {
    const m = tr.c.TestUtils.newModelWithEvents([g_catLTHIEvents]);
    const p = Object.values(m.processes)[0];

    const instance = p.objects.getAllInstancesNamed('cc::DisplayItemList')[0];
    const snapshot = instance.snapshots[0];

    const items = snapshot.items;
    assert.strictEqual(items.length, 2);

    assert.strictEqual(items[0], 'BeginClipDisplayItem');
    assert.strictEqual(items[1], 'EndClipDisplayItem');
  });
});
</script>
